eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
↳ QTRS
↳ Overlay + Local Confluence
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
IF1(false, x, y, c, i, j) → SIZE(j)
REACH(x, y, c, i, j) → EQ(x, y)
IF1(false, x, y, c, i, j) → LE(c, size(j))
LE(s(x), s(y)) → LE(x, y)
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
EQ(s(x), s(y)) → EQ(x, y)
REACHABLE(x, y, i) → REACH(x, y, 0, i, i)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → OR(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
IF2(true, x, y, c, edge(u, v, i), j) → AND(eq(x, u), reach(v, y, s(c), j, j))
IF2(true, x, y, c, edge(u, v, i), j) → EQ(x, u)
REACH(x, y, c, i, j) → IF1(eq(x, y), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
SIZE(edge(x, y, i)) → SIZE(i)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
IF1(false, x, y, c, i, j) → SIZE(j)
REACH(x, y, c, i, j) → EQ(x, y)
IF1(false, x, y, c, i, j) → LE(c, size(j))
LE(s(x), s(y)) → LE(x, y)
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
EQ(s(x), s(y)) → EQ(x, y)
REACHABLE(x, y, i) → REACH(x, y, 0, i, i)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → OR(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
IF2(true, x, y, c, edge(u, v, i), j) → AND(eq(x, u), reach(v, y, s(c), j, j))
IF2(true, x, y, c, edge(u, v, i), j) → EQ(x, u)
REACH(x, y, c, i, j) → IF1(eq(x, y), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
SIZE(edge(x, y, i)) → SIZE(i)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
LE(s(x), s(y)) → LE(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
LE(s(x), s(y)) → LE(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
LE(s(x), s(y)) → LE(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
SIZE(edge(x, y, i)) → SIZE(i)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
SIZE(edge(x, y, i)) → SIZE(i)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
SIZE(edge(x, y, i)) → SIZE(i)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
EQ(s(x), s(y)) → EQ(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
EQ(s(x), s(y)) → EQ(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
EQ(s(x), s(y)) → EQ(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(x, y, c, i, j) → IF1(eq(x, y), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
or(true, y) → true
or(false, y) → y
and(true, y) → y
and(false, y) → false
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
reachable(x, y, i) → reach(x, y, 0, i, i)
reach(x, y, c, i, j) → if1(eq(x, y), x, y, c, i, j)
if1(true, x, y, c, i, j) → true
if1(false, x, y, c, i, j) → if2(le(c, size(j)), x, y, c, i, j)
if2(false, x, y, c, i, j) → false
if2(true, x, y, c, empty, j) → false
if2(true, x, y, c, edge(u, v, i), j) → or(if2(true, x, y, c, i, j), and(eq(x, u), reach(v, y, s(c), j, j)))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(x, y, c, i, j) → IF1(eq(x, y), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
or(true, x0)
or(false, x0)
and(true, x0)
and(false, x0)
reachable(x0, x1, x2)
reach(x0, x1, x2, x3, x4)
if1(true, x0, x1, x2, x3, x4)
if1(false, x0, x1, x2, x3, x4)
if2(false, x0, x1, x2, x3, x4)
if2(true, x0, x1, x2, empty, x3)
if2(true, x0, x1, x2, edge(x3, x4, x5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(x, y, c, i, j) → IF1(eq(x, y), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
REACH(z4, z1, s(z2), z6, z6) → IF1(eq(z4, z1), z4, z1, s(z2), z6, z6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
REACH(z4, z1, s(z2), z6, z6) → IF1(eq(z4, z1), z4, z1, s(z2), z6, z6)
IF1(false, x, y, c, i, j) → IF2(le(c, size(j)), x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF1(false, z0, z1, s(z2), z3, z3) → IF2(le(s(z2), size(z3)), z0, z1, s(z2), z3, z3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
REACH(z4, z1, s(z2), z6, z6) → IF1(eq(z4, z1), z4, z1, s(z2), z6, z6)
IF1(false, z0, z1, s(z2), z3, z3) → IF2(le(s(z2), size(z3)), z0, z1, s(z2), z3, z3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
REACH(0, 0, s(y2), y3, y3) → IF1(true, 0, 0, s(y2), y3, y3)
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
REACH(0, 0, s(y2), y3, y3) → IF1(true, 0, 0, s(y2), y3, y3)
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, z0, z1, s(z2), z3, z3) → IF2(le(s(z2), size(z3)), z0, z1, s(z2), z3, z3)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, z0, z1, s(z2), z3, z3) → IF2(le(s(z2), size(z3)), z0, z1, s(z2), z3, z3)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF1(false, y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2)) → IF2(le(s(y2), s(size(x2))), y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2))
IF1(false, y0, y1, s(y2), empty, empty) → IF2(le(s(y2), 0), y0, y1, s(y2), empty, empty)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, y0, y1, s(y2), empty, empty) → IF2(le(s(y2), 0), y0, y1, s(y2), empty, empty)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF1(false, y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2)) → IF2(le(s(y2), s(size(x2))), y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2))
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF1(false, y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2)) → IF2(le(s(y2), s(size(x2))), y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2))
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF1(false, y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2)) → IF2(le(y2, size(x2)), y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
IF1(false, y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2)) → IF2(le(y2, size(x2)), y0, y1, s(y2), edge(x0, x1, x2), edge(x0, x1, x2))
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(s(x0), 0, s(y2), y3, y3) → IF1(false, s(x0), 0, s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x, y, c, edge(u, v, i), j) → IF2(true, x, y, c, i, j)
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x, y, c, edge(u, v, i), j) → REACH(v, y, s(c), j, j)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
IF2(true, x0, 0, x2, edge(x3, s(y_0), x5), edge(y_2, y_3, y_4)) → REACH(s(y_0), 0, s(x2), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF2(true, x0, s(y_1), x2, edge(x3, s(y_0), x5), x6) → REACH(s(y_0), s(y_1), s(x2), x6, x6)
IF2(true, x0, s(y_0), x2, edge(x3, 0, x5), x6) → REACH(0, s(y_0), s(x2), x6, x6)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
IF2(true, x0, 0, x2, edge(x3, s(y_0), x5), edge(y_2, y_3, y_4)) → REACH(s(y_0), 0, s(x2), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(0, s(x0), s(y2), y3, y3) → IF1(false, 0, s(x0), s(y2), y3, y3)
IF2(true, x0, s(y_0), x2, edge(x3, 0, x5), x6) → REACH(0, s(y_0), s(x2), x6, x6)
IF2(true, x0, s(y_1), x2, edge(x3, s(y_0), x5), x6) → REACH(s(y_0), s(y_1), s(x2), x6, x6)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
REACH(0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, 0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
IF2(true, x0, 0, x2, edge(x3, s(y_0), x5), edge(y_2, y_3, y_4)) → REACH(s(y_0), 0, s(x2), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(s(x0), s(x1), s(y2), y3, y3) → IF1(eq(x0, x1), s(x0), s(x1), s(y2), y3, y3)
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, 0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x0, s(y_1), x2, edge(x3, s(y_0), x5), x6) → REACH(s(y_0), s(y_1), s(x2), x6, x6)
IF2(true, x0, s(y_0), x2, edge(x3, 0, x5), x6) → REACH(0, s(y_0), s(x2), x6, x6)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
REACH(s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6)) → IF1(eq(x0, x1), s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
REACH(s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6)) → IF1(eq(x0, x1), s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6))
IF2(true, x0, 0, x2, edge(x3, s(y_0), x5), edge(y_2, y_3, y_4)) → REACH(s(y_0), 0, s(x2), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, 0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x0, s(y_0), x2, edge(x3, 0, x5), x6) → REACH(0, s(y_0), s(x2), x6, x6)
IF2(true, x0, s(y_1), x2, edge(x3, s(y_0), x5), x6) → REACH(s(y_0), s(y_1), s(x2), x6, x6)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
size(empty)
size(edge(x0, x1, x2))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MNOCProof
↳ QDP
IF2(true, x0, 0, x2, edge(x3, s(y_0), x5), edge(y_2, y_3, y_4)) → REACH(s(y_0), 0, s(x2), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6)) → IF1(eq(x0, x1), s(x0), s(x1), s(x2), edge(y_4, y_5, y_6), edge(y_4, y_5, y_6))
IF2(true, x0, x1, x2, edge(x3, x4, edge(y_3, y_4, y_5)), x6) → IF2(true, x0, x1, x2, edge(y_3, y_4, y_5), x6)
IF1(false, s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z2, size(x5)), s(z0), s(z1), s(z2), edge(x3, x4, x5), edge(x3, x4, x5))
REACH(0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, 0, s(x0), s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
REACH(s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4)) → IF1(false, s(x0), 0, s(x1), edge(y_2, y_3, y_4), edge(y_2, y_3, y_4))
IF1(false, s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), s(z0), 0, s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF1(false, 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5)) → IF2(le(z1, size(x5)), 0, s(z0), s(z1), edge(x3, x4, x5), edge(x3, x4, x5))
IF2(true, x0, s(y_1), x2, edge(x3, s(y_0), x5), x6) → REACH(s(y_0), s(y_1), s(x2), x6, x6)
IF2(true, x0, s(y_0), x2, edge(x3, 0, x5), x6) → REACH(0, s(y_0), s(x2), x6, x6)
size(empty) → 0
size(edge(x, y, i)) → s(size(i))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(x)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)